import { Plugin, App } from 'vue';

export function installPlugins<T extends { name: string }> (
  Component: T,
  plugins?: Plugin[],
) {
  return {
    ...Component,
    install(app: App) {
      app.component(Component.name, Component);
      !!plugins && (plugins.forEach(app.use));
    }
  }
}